package com.iflytek.ssm.controller;

/*
 * Controller层：参数校验(1、判空 2、根据校验规则校验数据 3、请求的限制次数)
 * 产品：提需求、画原型图
 * UI：根据原型图进行设计
 * 前端：根据设计图进行编码
 */

import com.iflytek.ssm.dao.UserDao;
import com.iflytek.ssm.service.StudentService;
import com.iflytek.ssm.service.UserService;
import com.iflytek.ssm.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import java.sql.SQLException;

/**
 * 学生类相关接口
 */
@Controller
public class StudentController {

    @Autowired
    StudentService studentService;
    @Autowired
    UserService userService;
    @Autowired
    UserDao userDao;

    public static void main(String[] args) {
        String str = null;
        System.out.println(StringUtil.isBlank(str));
    }

    /**
     * 登录接口
     *
     * @param account 账号
     * @param pwd     密码
     */
    public void login(String account, String pwd) throws SQLException {
        if (StringUtil.isEmptyAll(account, pwd)) {
            System.out.println("登录名或密码不能为空");
            return;
        }
        //进入service层
        //加载Spring的配置文件
        boolean flag = studentService.checkLogin(account, pwd);
        if (flag) {
            System.out.println("login success");
        } else {
            System.out.println(" login fail");
        }

        userService.fun();
    }

    /**
     * 修改密码
     */
    public boolean modifyPwd(String oldPwd, String newPwd, String comfirmPwd) throws SQLException {
        //模拟登录后从session中获取用户主键
        Integer id = 1;//此处可以通过工具类方法直接从session中获取即可
        //判空
        if (StringUtil.isBlank(oldPwd) || StringUtil.isBlank(newPwd) || StringUtil.isBlank(comfirmPwd)) {
            System.out.println("旧密码、新密码、确认面均不能为空");
            return false;
        }
        //校验新密码和确认是否一致
        if (!newPwd.equals(comfirmPwd)) {
            System.out.println("两次输入的新密码不一致");
            return false;
        }
        Integer flag = userService.modifyPwd(id, oldPwd, newPwd);
        if (!(0 == flag)) {
            return false;
        }
        System.out.println("修改成功");
        return true;
    }
}
